package com.hxci.liminshuo.servcie;

import org.springframework.stereotype.Service;
import java.util.*;

@Service
public class MinShuoCustomerSupportService {

    private final Map<String, String> faq = new HashMap<>();

    public MinShuoCustomerSupportService() {
        faq.put("登录", "您可以通过页面右上角登录按钮进入登录页面，输入用户名和密码即可登录系统。");
        faq.put("课程", "本系统是课程管理系统，您可以在这里管理课程信息，包括添加、修改、删除和查询课程。");
        faq.put("帮助", "我可以帮您解答关于课程管理系统的问题，或者协助您操作系统。\n您可以询问关于登录、课程管理、搜索等功能的问题。");
        faq.put("功能", "系统主要功能包括：\n1. 用户登录认证\n2. 课程增删改查\n3. 课程搜索\n4. 数据统计\n5. 数据导出");
        faq.put("搜索", "在课程列表页面，您可以使用关键词搜索课程，支持按课程名称和简介进行模糊搜索。");
        faq.put("添加", "在首页的添加课程区域，填写课程名称、简介和教师信息后点击保存即可添加新课程。");
        faq.put("删除", "在课程列表中找到要删除的课程，点击对应行的删除按钮即可删除该课程。");
        faq.put("编辑", "在课程列表中找到要编辑的课程，点击对应行的编辑按钮，修改信息后保存即可。");
        faq.put("怎么删除", "您可以通过对我说'删除课程3'来删除ID为3的课程，或者使用'删除课程 ID 3'的格式。");
        faq.put("如何使用", "您可以直接输入自然语言指令，如'查看课程列表'、'搜索课程'、'删除课程'等。");
        faq.put("帮助", "我可以帮您执行课程管理操作，包括查看、搜索、添加、删除和更新课程信息。");
        faq.put("功能列表", "支持以下功能：\n1. 查看课程列表\n2. 搜索课程\n3. 添加课程\n4. 删除课程\n5. 更新课程\n6. 查看统计数据");
        faq.put("搜索课程", "您可以说'搜索课程 关键词'或'查找包含 关键词 的课程'。");
        faq.put("添加课程", "您可以说'添加课程 名称:课程名, 简介:课程简介, 教师:教师名'。");
        faq.put("删除课程", "您可以说'删除课程 ID'或'移除课程 数字'。");
        faq.put("更新课程", "您可以说'更新课程 ID 字段:新值'。");
        // 添加统计相关的FAQ
        faq.put("统计", "我可以为您提供课程统计信息，包括总课程数和各教师的课程数量。只需输入'统计'或'显示统计信息'即可查看。");
        faq.put("统计信息", "系统会统计总课程数量以及每位教师所授课程数量，输入'统计'即可查看详细数据。");
        faq.put("显示统计", "正在为您生成统计数据，包括总课程数和按教师分类的课程数量。");
    }

    public String getAnswer(String question) {
        String q = question.toLowerCase();
        for (Map.Entry<String, String> e : faq.entrySet()) {
            if (q.contains(e.getKey().toLowerCase())) return e.getValue();
        }
        if (q.contains("你好") || q.contains("您好")) return "您好！我是课程管理系统智能客服，可以帮您管理课程信息。请问有什么可以帮助您的吗？";
        if (q.contains("怎么") || q.contains("如何")) return "您可以询问具体的功能，如'如何添加课程'、'怎么删除课程'等，我会为您提供详细指导。";
        // 检查是否是统计相关问题但未匹配到关键词
        if (q.contains("统计") || q.contains("数据") || q.contains("数量")) {
            return "您可以输入'统计'或'显示统计信息'来查看课程统计数据，包括总课程数和各教师的课程数量。";
        }
        return "抱歉，我不太明白您的意思。您可以询问关于课程管理的相关问题，或者直接告诉我您想执行什么操作，如'查看课程列表'、'添加课程'、'统计'等。";
    }
}